const express = require( 'express' );
const app = new express();
const models = require( '../../models' );

app.get( '/create', async ( req, res ) => {
  console.log( req.query )
  let { name } = req.query;
  let user  = await models.User.create({ // user 具有 sequelize 属性的对象
    firstName: name,
    lastName: name,
    email: '634874196@qq.com'
  });
  console.log( user );
  res.json({
    code: 200,
    message: '创建成功'
  })
});

app.get( '/list', async ( req, res ) => {
  let list  = await models.User.findAll();
  res.json({
    list,
    code: 200,
    message: '创建成功'
  })
});

app.get( '/detail/:id', async ( req, res ) => {
  let { id } = req.params;
  let user  = await models.User.findOne({
    where: {
      id
    }
  });
  res.json({
    user,
    code: 200,
    message: '创建成功'
  })
});

// http status  状态码
// code 业务逻辑错误状态码
// app.get( '/test', (req, res ) => {
//   try{
//     res.json({
//       message
//     });
//   }catch(e){
//     res.json({
//       message: '服务内部错误',
//       code: 500
//     })
//   }
// })

// app.get( '/test2', (req, res) => {
//   throw new Error( '异常测试' );
// });

// function notFoundHandle( req, res, next ){
//   res.status(404).json({
//     message: '接口不存在',
//     code: '404'
//   })
// }

// // 所有的异常处理， 统一收口，都经过异常处理函数
// function error_handle_middleware(err, req, res, next){
//   if( err ){
//     const { message } = err;
//     console.log( err, '---err---' );
//     res.status( 200 ).json({
//       message: `${ message|| '服务器异常' }`,
//       code: 500,
//     })
//   }
// }

// app.use( notFoundHandle );
// app.use( error_handle_middleware )


app.listen( 8080, () => {
  console.log( 'Server Start Successful 127.0.0.1:8080' );
})